Declarative Programming and Knowledge Management
نویسندگان
چکیده
Most real-world applications inevitably face the issue of persistence, generally understood as how to design, maintain and interact with a database. The standard approach relies on the mature technology of relational databases, with interaction specified through SQL embedded in the host programming language. Attempts to raise the level of the error-prone interaction code have been in the direction of object-oriented databases or deductive databases, with simpler queries but less mature technology on the database part. Here we present a different high-level approach, close in spirit to natural language, using variable-free conceptual expressions that are quite concise, natural and easy to read and understand, promoting much better code maintenance than the alternative approaches. This is achieved by using the flexible operator syntax and the deductive capabilities of logic programming in two ways, first to compile the database scheme from a modular structural description into a clausal representation, and then to translate (using the compiled scheme) terms expressing queries and commands into SQL statements. The approach relies crucially on the use of attributes, whose inheritance and composition avoid many explicit joins. Expressions become natural by choosing the right noun phrases (rather than verbal) for the attributes. A useful feature is the use of global parameters for implicit current values. Our deductive handle on the scheme allows the query translation to automatically split the needed joins into inner and outer joins. The abstraction power is further raised by having manifold attributes, whose values actually vary along a parametric domain, the main examples being the handling of temporal and multi-lingual data. Commands can also be very high-level, for example the simple statement of update of an identity value (part of the primary key) of an individual results in its replacement in all tuples of all concepts where the individual was referenced, this being done in the correct order to prevent violation of foreign keys. We present the ideas incrementally, with examples along with a rigorous account of the used syntax and semantics.
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملDeclarative Methods for the Evaluation of Ontologies
The ontology web language Owl has been established as a standardized representation for knowledge, especially in the context of the semantic web. An important facet of the management of such knowledge bases consists in its evaluation. Besides standard evaluation methods described in the literature particular applications can require to consider further measures. In this paper, we use a declarat...
متن کاملA critical study of Wahhabism interpretation from verses that deal with declarative attributes
Some verses of the Holy Quran ascribe attributes to God, the Almighty. This ascription has led to similitude and embodiment. The nature of these attributes has been one of the constant concerns of Quran scholars from the beginning of the spread of the knowledge of interpretation until today. Having these concerns in mind, the commentators have interpreted these verses according to their beliefs...
متن کاملMerging Deductive and Abductive Knowledge Bases: An Argumentation Context Approach
The consideration of heterogenous knowledge sources for supporting decision making is key to accomplish informed decisions, e.g., about medical diagnosis. Consequently, merging different data from different knowledge bases is a key issue for providing support for decision-making. In this paper, we explore an argumentation context approach, which follows how medical professionals typically reaso...
متن کاملDLV - A System for Declarative Problem Solving
DLV is an efficient logic programming and nonmonotonic reasoning (LPNMR) system with advanced knowledge representation mechanisms and interfaces to classic relational database systems. Its core language is disjunctive datalog (function-free disjunctive logic programming) under the Answer Set Semantics with integrity constraints, both default and strong (or explicit) negation, and queries. Integ...
متن کامل0 DLV – A System for Declarative Problem Solving ∗
DLV is an efficient logic programming and nonmonotonic reasoning (LPNMR) system with advanced knowledge representation mechanisms and interfaces to classic relational database systems. Its core language is disjunctive datalog (function-free disjunctive logic programming) under the Answer Set Semantics with integrity constraints, both default and strong (or explicit) negation, and queries. Integ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009